#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "photo.h"
#include "light.h"
#include "voice.h"
#include "beep.h"
#include "camera.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    // 创建并配置定时器
    timer = new QTimer(this);
    connect(timer, &QTimer::timeout, this, &MainWindow::updateTimeDisplay);
    timer->start(1000); // 每秒更新一次

    // 立即显示一次时间
    updateTimeDisplay();
    ui->pushButton_back->setStyleSheet("border-image: url(./btn1.jpg);");
    ui->pushButton_light->setStyleSheet("border-image: url(./lighton.jpg);");
    ui->pushButton_photo->setStyleSheet("border-image: url(./photo.jpg);");
    ui->pushButton_back_5->setStyleSheet("border-image: url(./voice.jpg);");
    ui->pushButton_back_9->setStyleSheet("border-image: url(./ring.jpg);");

    ui->pushButton_back_6->setStyleSheet("border-image: url(./camera.jpg);");
    ui->label->setStyleSheet("color: rgb(255, 255, 255);");
    ui->label_2->setStyleSheet("color: rgb(255, 255, 255);");
    ui->label_3->setStyleSheet("color: rgb(255, 255, 255);");
    ui->label_4->setStyleSheet("color: rgb(255, 255, 255);");
    ui->label_5->setStyleSheet("color: rgb(255, 255, 255);");
    ui->label_6->setStyleSheet("color: rgb(255, 255, 255);");
    ui->label_7->setStyleSheet("color: rgb(255, 255, 255);");

    QPalette pal = this->palette();
    pal.setBrush(QPalette::Background,QBrush(QPixmap("./bg.jpg")));
    setPalette(pal);
    // 手动连接返回按钮的信号槽（确保可靠）
    connect(ui->pushButton_back, &QPushButton::clicked,
    this, &MainWindow::on_pushButton_back_clicked);
}

MainWindow::~MainWindow()
{
    delete ui;
}



void MainWindow::on_pushButton_back_clicked()
{
    // 安全返回父窗口
        if (QWidget *parent = this->parentWidget()) {
            parent->show();         // 显示父窗口
            parent->raise();        // 置顶显示
            parent->activateWindow(); // 获取焦点
        }

        this->close(); // 关闭当前窗口（自动释放）
}

void MainWindow::on_pushButton_light_clicked()
{
    // 创建灯界面实例，this指针作为父对象
    light *l = new light(this);

    // 设置自动释放属性（防止内存泄漏）
    l->setAttribute(Qt::WA_DeleteOnClose);

    // 配置灯界面显示
    l->show();

    // 隐藏当前主界面
    this->hide();
}

void MainWindow::on_pushButton_photo_clicked()
{
    // 创建相界面实例，this指针作为父对象
    photo *album = new photo(this);

    // 设置自动释放属性（防止内存泄漏）
    album->setAttribute(Qt::WA_DeleteOnClose);

    // 配置相册界面全屏显示
    album->show();

    // 隐藏当前主界面
    this->hide();
}

void MainWindow::on_pushButton_back_5_clicked()
{
    // 创建语音界面实例，this指针作为父对象
    voice *v = new voice(this);

    // 设置自动释放属性（防止内存泄漏）
    v->setAttribute(Qt::WA_DeleteOnClose);

    // 配置语音显示
    v->show();

    // 隐藏当前主界面
    this->hide();
}

void MainWindow::on_pushButton_back_9_clicked()
{
    // 创建蜂鸣器界面实例，this指针作为父对象
    beep *b = new beep(this);

    // 设置自动释放属性（防止内存泄漏）
    b->setAttribute(Qt::WA_DeleteOnClose);

    // 配置创建蜂鸣器界面实例，this指针作为父对象显示
    b->show();

    // 隐藏当前主界面
    this->hide();
}

void MainWindow::on_pushButton_back_6_clicked()
{
    // 创建摄像头界面实例，this指针作为父对象
     camera *c = new camera(this);

    // 设置自动释放属性（防止内存泄漏）
    c->setAttribute(Qt::WA_DeleteOnClose);

    // 配置创摄像头器界面实例，this指针作为父对象显示
    c->show();

    // 隐藏当前主界面
    this->hide();
}

void MainWindow::updateTimeDisplay()
{
    // 获取当前系统时间
    QDateTime current = QDateTime::currentDateTime();

    // 格式化时间字符串 (24小时制：HH:mm:ss，12小时制：h:mm:ss AP)
    QString timeText = current.toString("HH:mm:ss");

    // 可选：添加日期信息
    QString dateText = current.toString("yyyy-MM-dd ddd");

    // 更新标签文本
    ui->label_7->setText(timeText + "\n" + dateText);


}
